Interleaved frame types optimized for vision capture and barcode capture

ABSTRACT

A barcode reader configured to capture interleaved frame types optimized for vision capture and barcode capture are disclosed herein. An example barcode reader is configured to operate in a pre-determined repetitive pattern of capturing a first frame and capturing a second frame over a reading cycle having a fixed duration after a triggering event, wherein the first frame is captured over a first exposure period having a first duration, and the second frame is captured over a second exposure period having a second duration, and wherein the first frame is associated with a first brightness parameter, and the second frame is associated with a second brightness parameter.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of U.S. patent application Ser. No.16/807,909, filed on Mar. 3, 2020, and incorporated herein by referencein its entirety.

BACKGROUND

Some barcode readers are capable of both barcode decoding and otherimaging applications, such as, e.g., object recognition for identifyingscanned items, facial recognition, identifying fraudulent behavior suchas ticket-switching, sweethearting, scan avoidance, etc. Such barcodereaders typically include two cameras—one for barcode decoding, and onefor other imaging applications. Barcode readers that include two camerascan be expensive and generally require a larger housing to store bothcameras. However, using one camera for both barcode decoding and otherimaging applications can be difficult because exposure length,brightness, gain, resolution, etc., that are optimized for capturingframes used in barcode decoding are typically not appropriate forcapturing frames used in other imaging applications, and vice versa.

SUMMARY

In an embodiment, the present invention is a barcode reader configuredto operate in a pre-determined repetitive pattern of capturing a firstframe and capturing a second frame over a reading cycle having a fixedduration after a triggering event, wherein the first frame is capturedover a first exposure period having a first duration, and the secondframe is captured over a second exposure period having a secondduration, and wherein the first frame is associated with a firstbrightness parameter, and the second frame is associated with a secondbrightness parameter.

In a variation of this embodiment, the first and second frame arecaptured by the same camera. In another variation of this embodiment,the barcode reader further comprises a processor configured to analyzeimage data associated with the first frame to decode a barcode. In yetanother variation of this embodiment, the barcode reader furthercomprises a processor configured to analyze image data associated withthe second frame to identify one or more of: a target object, a person,or a gesture.

In another embodiment, the present invention is a barcode readerconfigured to capture a first frame; capture a second frame; and sendthe second frame to a convolutional neural network for non-decodingpurposes.

In a variation of this embodiment, sending the second frame to theconvolutional neural network includes sending the second frame to aremote server.

In yet another embodiment, the present invention is a barcode readerconfigured to: capture a first frame; capture a second frame; and sendthe second frame to a remote server for non-decoding purposes.

In still yet another embodiment, the present invention is a barcodereader configured to: capture a first frame; capture a second frame;process uncompressed image data associated with the first frame at adecode module; compress image data associated with the second frame; andsend the compressed image data associated with the second frame to animage monitoring system.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying figures, where like reference numerals refer toidentical or functionally similar elements throughout the separateviews, together with the detailed description below, are incorporated inand form part of the specification, and serve to further illustrateembodiments of concepts that include the claimed invention, and explainvarious principles and advantages of those embodiments.

FIG. 1A illustrates a block diagram of an example system including alogic circuit for implementing the example methods and/or operationsdescribed herein, including techniques for using a single camera of abarcode reader to capture frames for multiple imaging applications byinterleaving frames used for each imaging application.

FIG. 1B illustrates an exemplary handheld or presentation barcode readerthat may be used in the example methods and/or operations describedherein, including techniques for using a single camera of a barcodereader to capture frames for multiple imaging applications byinterleaving frames used for each imaging application.

FIG. 2 illustrates a block diagram of an example process as may beimplemented by the system of FIG. 1A, for implementing example methodsand/or operations described herein, including techniques for using asingle camera of a barcode reader to capture frames for multiple imagingapplications by interleaving frames used for each imaging application.

FIG. 3 illustrates a block diagram of an example process as may beimplemented by the system of FIG. 1A, for implementing example methodsand/or operations described herein, including techniques for using asingle camera of a barcode reader to capture frames for multiple imagingapplications by interleaving frames used for each imaging application.

FIG. 4 illustrates a block diagram of an example process as may beimplemented by the system of FIG. 1A, for implementing example methodsand/or operations described herein, including techniques for using asingle camera of a barcode reader to capture frames for multiple imagingapplications by interleaving frames used for each imaging application.

FIG. 5 illustrates a block diagram of an example process as may beimplemented by the system of FIG. 1A, for implementing example methodsand/or operations described herein, including techniques for using asingle camera of a barcode reader to capture frames for multiple imagingapplications by interleaving frames used for each imaging application.

Skilled artisans will appreciate that elements in the figures areillustrated for simplicity and clarity and have not necessarily beendrawn to scale. For example, the dimensions of some of the elements inthe figures may be exaggerated relative to other elements to help toimprove understanding of embodiments of the present invention.

The apparatus and method components have been represented whereappropriate by conventional symbols in the drawings, showing only thosespecific details that are pertinent to understanding the embodiments ofthe present invention so as not to obscure the disclosure with detailsthat will be readily apparent to those of ordinary skill in the arthaving the benefit of the description herein.

DETAILED DESCRIPTION

Some barcode readers are capable of both barcode decoding and otherimaging applications, such as, e.g., object recognition for identifyingscanned items, facial recognition, identifying fraudulent behavior suchas ticket-switching, sweethearting, scan avoidance, etc. Such barcodereaders typically include two cameras—one for barcode decoding, and onefor other imaging applications. Barcode readers that include two camerascan be expensive and generally require a larger housing to store bothcameras. However, using one camera for both barcode decoding and otherimaging applications can be difficult because exposure length,brightness, gain, resolution, etc., that are optimized for capturingframes used in barcode decoding are typically not appropriate forcapturing frames used in other imaging applications, and vice versa.

That is, when capturing a frame used for near field barcode reading ornear field object recognition (e.g., in some examples, item recognitionfor produce items), a camera or image sensor will typically use brightillumination and short exposures, tending to darken background (farfield) objects. In contrast, when capturing a frame used for (far field)vision applications, a camera or image sensor will typically use longexposures with no illumination so that actions and objects in the farfield (e.g. beyond the scan platter) may be captured. Thus, capturedframes used for barcode reading are typically not ideal for detectingscan avoidance, in which a user might sweep an object through the cameraFOV but out of the scanner's decode range, or other far field activity.Similarly, captured frames used for vision applications are typicallynot ideal for decoding barcodes due to the decreased illumination.

The present disclosure provides a barcode reader that is capable ofutilizing a single camera for both barcode decoding and other imagingapplications by interleaving frame types optimized for barcode captureand vision capture, respectively. For example, in a barcode readingframe, a brief exposure and bright illumination can be used to freeze animage of a moving object to result in snappy barcode reading whenbarcodes are swiped past (e.g., in the near field of view of thecamera). In a vision frame, a longer exposure (or autoexposure) with no(or reduced) illumination to capture video frames using ambientillumination, including details beyond the typical scan range (e.g., inthe far field of view of the camera). For instance, in some examples,the barcode reading frame and the vision frame may alternate every otherframe, or may alternate in some other predetermined pattern (e.g., twobarcode reading frames then one vision frame, two vision frames then onebarcode reading frame, etc.). Barcode reading frames may be sent to animage signal processor (ISP) and to a decoder for processing, whilevision frames may be sent through the ISP to electronics foranalysis/analytics and may not be used for decoding.

Furthermore, in some examples the camera or image sensor may interleaveadditional frame types with the barcode reading frame and/or the visioncapture frame. For instance, an enhanced item recognition frame may beused in cases in which the recognition of an item is prioritized, e.g.,for identifying fruits or vegetables being weighed, or identifyingexpensive items or items that are at high risk of theft, as determinedby the system. For instance, in an enhanced item recognition frame, along exposure and illumination, with reduced gain, can be used toenhance contrast and clarity of data for items on the platter, whilesimultaneously darkening the background information to help reduceextraneous data. In some examples, enhanced item recognition frames mayuse an RGB color transformation for maximum color data to aid in itemrecognition.

In some examples, a camera or image sensor with a sufficiently highframerate may be configured to constantly alternate between barcodereading frames, vision capture frames, and enhanced item recognitionframes in a predetermined pattern (e.g., one barcode reading frame, thenone vision capture frame, then one enhanced item recognition frame; twobarcode reading frames, then one vision capture frame, then one enhanceditem recognition frame; one barcode reading frame, then two visioncapture frames, then one enhanced item recognition frame; one barcodereading frame, then one vision capture frame, then two enhanced itemrecognition frames; etc.). In other examples, the camera or image sensormay alternate between barcode reading frames and vision capture framesin in a first mode, but may switch to a second mode of alternatingbetween all three frame types (e.g., including enhanced item recognitionframes) when certain conditions are met, e.g., when there is a positivedwell on the scale, when a high-priority item is scanned, etc.

Advantageously, using the techniques described herein, different typesof frames may be captured essentially simultaneously and compared, e.g.,to ensure that the barcode and item match, or to precisely identify anindividual using the barcode reader when a particular barcode is scanned(for example, to detect ticket switching or other fraudulent behavior).

FIG. 1A illustrates a block diagram of an example system 100 including alogic circuit for implementing the example methods and/or operationsdescribed herein, including techniques for using a single camera of abarcode reader to capture frames for multiple imaging applications byinterleaving frames used for each imaging application. The system 100may include a barcode reader 102 and a server 104 configured tocommunicate via a network 106 (e.g., a wired or wireless network).

The barcode reader 102 may include a camera (or other image sensor) 108and an illumination assembly 110, as well as a processor 112 and amemory 114.

The camera 108 may be configured to capture (near-field) image and/orvideo frames of objects being scanned (e.g., at a checkout station) andbarcodes attached to such objects, e.g., through a window of the barcodereader 102. When capturing an image and/or video frame to be used forbarcode reading, the camera 108 may use a short exposure. Furthermore,in some instances, the camera 108 may apply a YUV filter (e.g., tomaximize resolution on black and white barcodes) to images and/or videoframes to be used for barcode reading. Furthermore, the illuminationassembly 110 of the barcode reader 102 may use an increased brightnessor longer-duration period of illumination as the camera 108 captures theimage and/or video frame to be used for barcode reading.

Furthermore, the camera 108 may be configured to capture far-field imageand/or video frames to be used for vision capture applications. Forinstance, far-field image or video frames of people operating thebarcode reader to scan objects may be analyzed using vision captureapplications to detect instances of theft or fraud, such as, e.g.,sweethearting, ticket-switching, scan avoidance, etc. When capturing animage and/or video frame to be used for vision capture, the camera 108may use a longer exposure than when capturing an image and/or videoframe to be used for barcode reading (or an auto-exposure). Moreover, insome examples, the camera 108 may apply a compressed YUV filters (suchas YUV422) for maximized color data for a lower resolution image orvideo frame used for far-field image capture. Furthermore, theillumination assembly 110 of the barcode reader 102 may use a decreasedbrightness or shorter-duration period of illumination when the cameracaptures far-field image and/or video frames to be used for visioncapture applications.

In particular, the camera 108 may be configured to alternate betweencapturing frames to be used for barcode reading or other near-fieldapplications and frames to be used for far-field vision captureapplications. For instance, the camera 108 may repeatedly capture afirst frame to be used for barcode reading and a second frame to be usedfor vision capture applications in a repetitive pattern over a barcodereading cycle. For example, the camera 108 may capture the first frameand then the second frame repeatedly. In other examples, the camera 108may capture two first frames and then one second frame repeatedly, orone first frame and then two second frames repeatedly, or any othersuitable repetitive pattern of capturing the two types of frames.

In some examples, camera 108 may begin a barcode reading cycle based ona triggering event, and may cease the barcode reading cycle after afixed duration of time after the triggering event. For instance, thetriggering event may be a “wake” event. For instance, the triggeringevent may be motion detected by a motion sensor (not shown) configuredto detect motion of a handheld barcode reader (or a handheld portion ofa barcode reader). Furthermore, in some examples, a scan event (e.g., auser pressing a button associated with the barcode reader 102 to scan abarcode) may be a “wake” event, or may otherwise be considered atriggering event. Additionally, in some examples, the triggering eventmay be an object detection event (e.g., a motion sensor, image sensor,or other sensor (not shown) associated with the barcode reader 102 maydetect an object in the proximity of the barcode reader 102). Moreover,in some examples, the triggering event may occur when an electronicscale (not shown) associated with the barcode reader measures a stableweight above a threshold weight for a time period longer than athreshold time period, e.g., indicating that an object to be scanned hasbeen placed on a platter associated with the barcode reader

Additionally, in some examples, the camera 108 may be configured tocapture image and/or video frames to be used for enhanced itemrecognition. For instance, the camera 108 may capture enhanced itemrecognition frames using a long exposure with reduced gain compared tobarcode reading frames or vision capture frames. Furthermore, theillumination assembly 110 may be configured to illuminate a field ofview (FOV) of the camera 108 for a longer period of time (e.g., as inthe barcode reading frames) when the camera is capturing enhanced itemrecognition frames.

In some examples, the camera 108 may be further configured to alternatebetween capturing frames to be used for barcode reading or othernear-field applications, frames to be used for far-field vision captureapplications, and frames to be used for enhanced item recognition, e.g.,in a repetitive pattern, as discussed above. In particular, in someexamples, the camera 108 may be configured to switch from a mode inwhich the camera 108 alternates between capturing barcode reading framesand vision capture frames only to a mode in which the camera 108alternates between capturing barcode reading frames, vision captureframes, and enhanced item recognition frames when certain conditions aremet, e.g., when there is a positive dwell on the scale, when ahigh-priority item is scanned, etc.

In some examples, the camera 108 may be configured to capture imagesfrom multiple FOVs, e.g., FOVs that pass through more than one window ofthe barcode reader 102, or to more than one FOV that passes through thesame window of a reading device. That is, in some examples, the camera108 may be configured to capture near-field images from one FOV,far-field images from another FOV, and/or enhanced item recognitionframes from still another FOV.

The processor 112, which may be, for example, one or moremicroprocessors, controllers, and/or any suitable type of processors,may interact with the memory 114 accessible by the one or moreprocessors 112 (e.g., via a memory controller) to obtain, for example,machine-readable instructions stored in the memory 114 corresponding to,for example, the operations represented by the flowcharts of thisdisclosure, including those of FIGS. 2-5 . In particular, theinstructions stored in the memory 114 may include instructions forexecuting a decode module 115, configured to decode barcodes in barcodereading image or video frames captured by the camera 108. In someexamples, the instructions stored in the memory 114 may includeinstructions for executing an image monitoring, item recognition, facialrecognition, and/or gesture recognition application (not shown)configured to analyze vision capture or enhanced item recognition framescaptured by the camera 108 to identify items, individuals, gestures,etc., captured in image data associated with the frames, e.g., using amachine learning analysis and/or convolutional neural network analysis.Furthermore, in some examples, the instructions stored in the memory114, when executed by the processor 112, may cause the barcode reader102 to transmit vision capture or enhanced item recognition frames tothe server 104 for further analysis.

The server 104 may include a processor 116 and a memory 118. Theprocessor 116, which may be, for example, one or more microprocessors,controllers, and/or any suitable type of processors, may interact withthe memory 118 accessible by the one or more processors 116 (e.g., via amemory controller) to obtain, for example, machine-readable instructionsstored in the memory 118 corresponding to, for example, the operationsrepresented by the flowcharts of this disclosure, including those ofFIGS. 2-5 . In some examples, the instructions stored in the memory 118may include instructions for executing an image monitoring, itemrecognition, facial recognition, and/or gesture recognition application(120) configured to analyze vision capture or enhanced item recognitionframes captured by the camera 108 to identify items, individuals,gestures, etc., captured in image data associated with the frames, e.g.,using a machine learning analysis and/or convolutional neural networkanalysis.

FIG. 1B illustrates an exemplary handheld or presentation barcode reader150 that may be used in the object recognition systems and methodsdescribed herein. For instance, the barcode reader 102 shown in FIG. 1Amay be a handheld or presentation barcode reader 150 as shown in FIG. 18. The handheld or presentation barcode reader 150 may include a handheldreader 152 and a stationary cradle 154 mounted to a workstation surface156. The handheld reader 152 rests in the stationary cradle to establisha hands-free scanning mode, also termed a presentation mode, forscanning objects. The handheld reader 152 therefore operates as animaging reader, with a scanning window 158 in the housing of thehandheld reader 152, behind which may be, e.g., a camera 108 and/orillumination assembly 110 as described with respect to FIG. 1A. In thehands-free scanning mode, the handheld reader 152 defines a horizontallyand vertically extending FOV 160. In accordance with the techniquesherein, the handheld reader 152 captures images of an object foridentification and imaging within the FOV 160. A trigger 158 may be usedto initiate a hands-free scanning mode, in some examples. In someexamples, the hands-free scanning made is initiated by placement of thereader 152 into the cradle 154.

FIG. 2 illustrates a block diagram of an example process 200 as may beimplemented by the logic circuit of FIG. 1A, for implementing examplemethods and/or operations described herein, including techniques forusing a single camera of a barcode reader to capture frames for multipleimaging applications by interleaving frames used for each imagingapplication, as may be performed by the system 100, barcode reader 102,or server 104 of FIG. 1A.

At a process 202, a barcode reader may receive an indication of atriggering event. In some examples, the triggering event may be a “wake”event. For instance, the triggering event may be motion detected by amotion sensor configured to detect motion of a handheld barcode reader(or a handheld portion of a barcode reader). Furthermore, in someexamples, a scan event (e.g., a user pressing a button associated withthe barcode reader to scan a barcode) may be a “wake” event, or mayotherwise be considered a triggering event. Additionally, in someexamples, the triggering event may be an object detection event (e.g., amotion sensor, image sensor, or other sensor associated with the barcodereader may detect an object in the proximity of the barcode reader).Moreover, in some examples, the triggering event may occur when anelectronic scale associated with the barcode reader measuring a stableweight above a threshold weight for a time period longer than athreshold time period, e.g., indicating that an object to be scanned hasbeen placed on a platter associated with the barcode reader.

At a process 204, the barcode reader may begin a reading cycle having afixed duration based on receiving the indication of the triggeringevent.

At a process 206, during the reading cycle, the barcode reader (e.g., asingle camera or other image sensor of the barcode reader) may capture afirst frame and a second frame in a repetitive pattern. For example, thecamera or other image sensor of the barcode reader may alternate betweenthe first frame and the second frame, or may capture the first andsecond frame in some other repetitive pattern (e.g., two first frames,then one second frame, then two first frames, then one second frame, andso on; or one first frame, then two second frames, then one first frame,then two second frames, and so on; or some other repetitive pattern).

In particular, the barcode reader may capture the first frame over afirst exposure period (e.g., having a first duration) and capture thesecond frame over a second exposure period (e.g., having a secondduration, different from the first duration) in the repetitive pattern.Moreover, in some examples, the first frame may be associated with afirst brightness parameter, while the second frame is associated with asecond brightness parameter, different from the first brightnessparameter. Furthermore, in some examples, image data associated with thefirst frame may be captured at a higher resolution than image dataassociated with the second frame.

For example, the first frame may be a barcode capture frame while thesecond frame is a vision capture frame. Accordingly, the second framemay have a longer exposure period, to capture images or video suited oroptimized for vision capture applications, while the first frame mayhave a shorter exposure period, to capture images suited or optimizedfor barcode decoding. Similarly, as discussed above, image dataassociated with the first frame may be captured at a higher resolutionsuited for or optimized for barcode decoding applications, while imagedata associated with the second frame may be captured at a lowerresolution suited for vision capture applications.

Moreover, the brightness parameter for the first frame may be suited foror optimized for barcode capture applications while the brightnessparameter for the second frame may be suited for or optimized for visioncapture applications. For instance, the brightness parameter may be anillumination duration parameter. Accordingly, in some examples, theperiod of time for which an illumination assembly is activated duringthe first frame (a first illumination duration period) may be longerthan the period of time for which the illumination assembly is activatedduring the second frame (a second illumination duration period), causinga “brighter” illumination in images captured in the first frame comparedto images captured in the second frame. Moreover, in some examples, thesecond frame may not be illuminated at all.

Furthermore, in some examples, the barcode reader may additionallycapture a third frame (or a fourth frame, or a fifth frame, etc.) aspart of the repetitive pattern during the reading cycle. In particular,in some examples, the barcode reader may always include the third frameand/or other additional frame in the repetitive pattern during thereading cycle, while in other examples, the barcode reader may includethe third frame and/or other additional frame in the repetitive patternonly when certain conditions are met. For instance, the repetitivepattern may include the third frame and/or other additional frame afterthe barcode reader receives an indication that there is a positive dwellon a scale associated with the barcode reader, or an indication that ahigh-priority item has been scanned (e.g., based on a decode of abarcode from image data associated with the first frame, based on objectrecognition of a high-priority item from image data associated with thefirst frame, etc.), but otherwise may not include the third frame and/orother additional frame.

In some examples, the third frame may be an enhanced item recognitionframe. The third frame may be captured over a third exposure period thathas a third duration, which may be longer than the duration of the firstexposure period. Furthermore, the period of time for which theillumination assembly is activated for the third frame may be longerthan the period of time for which the illumination assembly is activatedfor the second frame, causing a “brighter” illumination in imagescaptured in the third frame than in images captured in the second frame.Moreover, the third frame may be associated with a third gain, which maybe a smaller gain than gain associated with the first frame.

At a process 208, after the fixed duration of the reading cycle, thebarcode reader may cease capturing the first and second frames in therepetitive pattern.

In some examples, the process 200 may further include analyzing imagedata associated with the first frame to decode a barcode. Furthermore,in some examples, the process 200 may further include analyzing imagedata associated with the first frame to identify an object captured inthe first frame. Additionally, in some examples, the process 200 mayinclude applying a color filter to image data associated with the firstframe as part of analyzing or processing the image data associated withthe first frame.

Furthermore, in some examples, the process 200 may further includeanalyzing image data associated with the second frame (which may includevideo data) using computer vision techniques to identify, e.g., anobject (such as a produce item, and/or an object to which a barcode isaffixed or attached), a person, a gesture (or other movement or action),etc. For instance, the image data from the second frame may be analyzedvia a convolutional neural network. Additionally, in some examples, theprocess 200 may include applying a color filter to image data associatedwith the second frame as part of analyzing or processing the image dataassociated with the second frame. In particular, in some examples, thecolor filter applied to image data associated with the second frame maybe different than a color filter applied to image data associated withthe second frame.

FIG. 3 illustrates a block diagram of an example process 300 as may beimplemented by the logic circuit of FIG. 1A, for implementing examplemethods and/or operations described herein, including techniques forusing a single camera of a barcode reader to capture frames for multipleimaging applications by interleaving frames used for each imagingapplication, as may be performed by the system 100, barcode reader 102,or server 104 of FIG. 1A.

At a process 302, a barcode reader (e.g., a single camera or imagesensor of the barcode reader) may capture a first frame. At a process304, the barcode reader (e.g., the single camera or image sensor of thebarcode reader) may capture a second frame. At a process 306, thebarcode reader may send the second frame (i.e., image data associatedwith the second frame) to a convolutional neural network fornon-barcode-decoding purposes. For example, the non-barcode purposes mayinclude vision capture applications, such as, e.g., object recognitionapplications, facial recognition applications, gesture recognitionapplications, etc. In some examples, sending the second frame to theconvolutional neural network includes sending the first frame to aremote server (e.g., server 104). In some examples, the process 300 mayinclude the barcode reader (e.g., a processor of or associated with thebarcode reader) analyzing image data associated with the first frame todecode a barcode captured in the first frame.

FIG. 4 illustrates a block diagram of an example process 400 as may beimplemented by the logic circuit of FIG. 1A, for implementing examplemethods and/or operations described herein, including techniques forusing a single camera of a barcode reader to capture frames for multipleimaging applications by interleaving frames used for each imagingapplication, as may be performed by the system 100, barcode reader 102,or server 104 of FIG. 1A.

At a process 402, a barcode reader (e.g., a single camera or imagesensor of the barcode reader) may capture a first frame. At a process404, the barcode reader (e.g., the single camera or image sensor of thebarcode reader) may capture a second frame. At a process 406, thebarcode reader may send the second frame (i.e., image data associatedwith the second frame) to a remote server (e.g., server 104) fornon-barcode-decoding purposes. For example, the non-barcode purposes mayinclude vision capture applications, such as, e.g., object recognitionapplications, facial recognition applications, gesture recognitionapplications, etc. In some examples, the process 400 may include thebarcode reader (e.g., a processor of or associated with the barcodereader) analyzing image data associated with the first frame to decode abarcode captured in the first frame.

FIG. 5 illustrates a block diagram of an example process 200 as may beimplemented by the logic circuit of FIG. 1A, for implementing examplemethods and/or operations described herein, including techniques forusing a single camera of a barcode reader to capture frames for multipleimaging applications by interleaving frame s used for each imagingapplication, as may be performed by the system 100, barcode reader 102,or server 104 of FIG. 1A.

At a process 502, a barcode reader (e.g., a single camera or imagesensor of the barcode reader) may capture a first frame. At a process504, the barcode reader (e.g., the single camera or image sensor of thebarcode reader) may capture a second frame.

At a process 506, the barcode reader (e.g., a processor of the barcodereader or associated with the barcode reader) may process raw image data(e.g., uncompressed image data) associated with the first frame at adecode module to decode a barcode captured in the raw image dataassociated with the first frame.

At a process 508, the barcode reader (e.g., a process of the barcodereader or associated with the barcode reader) may compress raw imagedata associated with the second frame (e.g., including video dataassociated with the second frame). At a process 510, the barcode readermay send the compressed image or video associated with the second frameto an image monitoring system, e.g., for security monitoring purposes.

The above description refers to block diagrams of the accompanyingdrawings. Alternative implementations of the examples represented by theblock diagrams include one or more additional or alternative elements,processes and/or devices. Additionally or alternatively, one or more ofthe example blocks of the diagrams may be combined, divided, re-arrangedor omitted. Components represented by the blocks of the diagrams areimplemented by hardware, software, firmware, and/or any combination ofhardware, software and/or firmware. In some examples, at least one ofthe components represented by the blocks is implemented by a logiccircuit. As used herein, the term “logic circuit” is expressly definedas a physical device including at least one hardware componentconfigured (e.g., via operation in accordance with a predeterminedconfiguration and/or via execution of stored machine-readableinstructions) to control one or more machines and/or perform operationsof one or more machines. Examples of a logic circuit include one or moreprocessors, one or more coprocessors, one or more microprocessors, oneor more controllers, one or more digital signal processors (DSPs), oneor more application specific integrated circuits (ASICs), one or morefield programmable gate arrays (FPGAs), one or more microcontrollerunits (MCUs), one or more hardware accelerators, one or morespecial-purpose computer chips, and one or more system-on-a-chip (SoC)devices. Some example logic circuits, such as ASICs or FPGAs, arespecifically configured hardware for performing operations (e.g., one ormore of the operations described herein and represented by theflowcharts of this disclosure, if such are present). Some example logiccircuits are hardware that executes machine-readable instructions toperform operations (e.g., one or more of the operations described hereinand represented by the flowcharts of this disclosure, if such arepresent). Some example logic circuits include a combination ofspecifically configured hardware and hardware that executesmachine-readable instructions. The above description refers to variousoperations described herein and flowcharts that may be appended heretoto illustrate the flow of those operations. Any such flowcharts arerepresentative of example methods disclosed herein. In some examples,the methods represented by the flowcharts implement the apparatusrepresented by the block diagrams. Alternative implementations ofexample methods disclosed herein may include additional or alternativeoperations. Further, operations of alternative implementations of themethods disclosed herein may combined, divided, re-arranged or omitted.In some examples, the operations described herein are implemented bymachine-readable instructions (e.g., software and/or firmware) stored ona medium (e.g., a tangible machine-readable medium) for execution by oneor more logic circuits (e.g., processor(s)). In some examples, theoperations described herein are implemented by one or moreconfigurations of one or more specifically designed logic circuits(e.g., ASIC(s)). In some examples the operations described herein areimplemented by a combination of specifically designed logic circuit(s)and machine-readable instructions stored on a medium (e.g., a tangiblemachine-readable medium) for execution by logic circuit(s).

As used herein, each of the terms “tangible machine-readable medium,”“non-transitory machine-readable medium” and “machine-readable storagedevice” is expressly defined as a storage medium (e.g., a platter of ahard disk drive, a digital versatile disc, a compact disc, flash memory,read-only memory, random-access memory, etc.) on which machine-readableinstructions (e.g., program code in the form of, for example, softwareand/or firmware) are stored for any suitable duration of time (e.g.,permanently, for an extended period of time (e.g., while a programassociated with the machine-readable instructions is executing), and/ora short period of time (e.g., while the machine-readable instructionsare cached and/or during a buffering process)). Further, as used herein,each of the terms “tangible machine-readable medium,” “non-transitorymachine-readable medium” and “machine-readable storage device” isexpressly defined to exclude propagating signals. That is, as used inany claim of this patent, none of the terms “tangible machine-readablemedium,” “non-transitory machine-readable medium,” and “machine-readablestorage device” can be read to be implemented by a propagating signal.

In the foregoing specification, specific embodiments have beendescribed. However, one of ordinary skill in the art appreciates thatvarious modifications and changes can be made without departing from thescope of the invention as set forth in the claims below. Accordingly,the specification and figures are to be regarded in an illustrativerather than a restrictive sense, and all such modifications are intendedto be included within the scope of present teachings. Additionally, thedescribed embodiments/examples/implementations should not be interpretedas mutually exclusive, and should instead be understood as potentiallycombinable if such combinations are permissive in any way. In otherwords, any feature disclosed in any of the aforementionedembodiments/examples/implementations may be included in any of the otheraforementioned embodiments/examples/implementations.

The benefits, advantages, solutions to problems, and any element(s) thatmay cause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as a critical, required, or essentialfeatures or elements of any or all the claims. The claimed invention isdefined solely by the appended claims including any amendments madeduring the pendency of this application and all equivalents of thoseclaims as issued.

Moreover in this document, relational terms such as first and second,top and bottom, and the like may be used solely to distinguish oneentity or action from another entity or action without necessarilyrequiring or implying any actual such relationship or order between suchentities or actions. The terms “comprises,” “comprising,” “has”,“having,” “includes”, “including,” “contains”, “containing” or any othervariation thereof, are intended to cover a non-exclusive inclusion, suchthat a process, method, article, or apparatus that comprises, has,includes, contains a list of elements does not include only thoseelements but may include other elements not expressly listed or inherentto such process, method, article, or apparatus. An element proceeded by“comprises . . . a”, “has . . . a”, “includes . . . a”, “contains . . .a” does not, without more constraints, preclude the existence ofadditional identical elements in the process, method, article, orapparatus that comprises, has, includes, contains the element. The terms“a” and “an” are defined as one or more unless explicitly statedotherwise herein. The terms “substantially”, “essentially”,“approximately”, “about” or any other version thereof, are defined asbeing close to as understood by one of ordinary skill in the art, and inone non-limiting embodiment the term is defined to be within 10%, inanother embodiment within 5%, in another embodiment within 1% and inanother embodiment within 0.5%. The term “coupled” as used herein isdefined as connected, although not necessarily directly and notnecessarily mechanically. A device or structure that is “configured” ina certain way is configured in at least that way, but may also beconfigured in ways that are not listed.

The Abstract of the Disclosure is provided to allow the reader toquickly ascertain the nature of the technical disclosure. It issubmitted with the understanding that it will not be used to interpretor limit the scope or meaning of the claims. In addition, in theforegoing Detailed Description, it can be seen that various features aregrouped together in various embodiments for the purpose of streamliningthe disclosure. This method of disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter may lie in less thanall features of a single disclosed embodiment. Thus, the followingclaims are hereby incorporated into the Detailed Description, with eachclaim standing on its own as a separately claimed subject matter.

The invention claimed is:
 1. A barcode reader configured to operate in apre-determined repetitive pattern of capturing a first frame andcapturing a second frame over a reading cycle having a fixed durationafter a triggering event, wherein the first frame is captured over afirst exposure period having a first duration, and the second frame iscaptured over a second exposure period having a second duration, andwherein the first frame is associated with a first brightness parameter,and the second frame is associated with a second brightness parameter,and wherein the barcode reader includes a processor configured to:process image data associated with the first frame at a decode module;and transmit image data associated with the second frame to an imagemonitoring system.
 2. The barcode reader of claim 1, wherein the secondduration is longer than the first duration.
 3. The barcode reader ofclaim 1, wherein the first brightness parameter is associated with afirst illumination duration period, wherein the second brightnessparameter is associated with a second illumination duration period, andwherein the first illumination duration period is longer than the secondillumination duration period.
 4. The barcode reader of claim 3, whereinthe second illumination duration period is a zero duration period. 5.The barcode reader of claim 1, wherein the first and second frame arecaptured by a camera.
 6. The barcode reader of claim 1, wherein thedecode module is configured to analyze image data associated with thefirst frame to decode a barcode.
 7. The barcode reader of claim 1,wherein the image monitoring system is configured to analyze image dataassociated with the second frame to identify one or more of: a targetobject, a person, or a gesture.
 8. The barcode reader of claim 7,wherein the processor is configured to analyze the second image using aconvolutional neural network.
 9. The barcode reader of claim 1, furthercomprising a processor configured to apply a first color filter to imagedata associated with the first frame and configured to apply a secondcolor filter to image data associated with the second frame.
 10. Thebarcode reader of claim 1, wherein image data associated with the secondframe includes video data.
 11. The barcode reader of claim 1, whereinimage data associated with the first frame is captured at a firstresolution, wherein image data associated with second frame is capturedat a second resolution, and wherein the first resolution is higher thanthe second resolution.
 12. The barcode reader of claim 1, wherein thetrigger event is based on an electronic scale associated with thebarcode reader measuring a stable weight above a threshold weight for atime period longer than a threshold time period.
 13. The barcode readerof claim 1, wherein the trigger event is a scan event.
 14. The barcodereader of claim 1, wherein the trigger event is an object detectionevent.
 15. The barcode reader of claim 1, wherein the repetitive patternfurther includes capturing a third frame over the reading cycle, whereinthe third frame is captured over a third exposure period having a thirdduration, the third duration being longer than the first duration,wherein the third frame is associated with a third gain, the third gainbeing smaller than a first gain associated with the first frame, andwherein the third frame is associated with a third brightness parameter.16. The barcode reader of claim 15, wherein the first brightnessparameter is associated with a first illumination duration period,wherein the second brightness parameter is associated with a secondillumination duration period, wherein the third brightness parameter isassociated with a third illumination duration period, and wherein thethird illumination duration period is longer than the secondillumination duration period.